﻿using System.Collections.Generic;
using System;

namespace Marbles.Core.Authentication
{    
    /// <summary>
    /// Interface: IToken. Information for User stored in a AuthenticationProvider Database
    /// </summary>
    public interface IToken
    {
        bool Success { get; }
        string UserId { get; }
        string Identity { get; }
        string Username { get; }
        string Email { get; }
        string Fullname { get; }
        string this[string value] { get; }
        Dictionary<string, string> Properties { get; }
        bool IsAdministrator { get; }
        bool IsViewer { get; }
        bool IsEditor { get; }
        bool IsRoot { get; }
    }
}